package org.dxy.api.dto.request.process;

import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;

/**
 * @description: 工序步骤变更请求DTO
 * @author: dxy
 * @createTime: 2025/6/22 23:47
 */
@Data
public class ChangeProcessStepRequest {
    /**
     * 工序ID
     */
    @NotNull(message = "工序ID不能为空")
    private Long processId;

    /**
     * 操作人ID
     */
    @NotNull(message = "操作人ID不能为空")
    private String operatorId;

    /**
     * 原步骤ID
     */
    @NotNull(message = "原步骤ID不能为空")
    private Long fromStepId;

    /**
     * 目标步骤ID
     */
    @NotNull(message = "目标步骤ID不能为空")
    private Long toStepId;

    /**
     * 变更类型（SKIP-跳步, REWORK-返工, JUMP-跳转）
     */
    @NotBlank(message = "变更类型不能为空")
    private String changeType;

    /**
     * 变更原因
     */
    @NotBlank(message = "变更原因不能为空")
    private String reason;
}